import RecommendStore from "./recommendStore";
import ProductStore from "./productStore";
import SearchLogStore from "./SearchLogStore";
import CategoryStore from "./categoryStore";
import CartStore from "./cartStore";
import AuthenticationStore from "./authenticationStore";
import SessionStore from "./sessionStore";
import OrderStore from "./orderStore";
import ExpressStore from "./expressStore";
import WxOpenStore from "./wxOpenStore";

export default class Stores {
    static ProductStore: string = getName(ProductStore)
    static RecommendStore: string = getName(RecommendStore)
    static SessionStore: string = getName(SessionStore)
    static AuthenticationStore: string = getName(AuthenticationStore)
    static OrderStore: string = getName(OrderStore)
    static CartStore: string = getName(CartStore)
    static CategoryStore: string = getName(CategoryStore)
    static SearchLogStore: string = getName(SearchLogStore)
    static ExpressStore: string = getName(ExpressStore)
    static WxOpenStore: string = getName(WxOpenStore)
  }
  
  function getName(store: any): string {
    return toCamelCase(store.name);
  }
  
  function toCamelCase(str) {
    if (!str || !str.length) {
      return str;
    }
  
    if (str.length === 1) {
      return str.charAt(0).toLowerCase();
    }
  
    return str.charAt(0).toLowerCase() + str.substr(1);
  }
  